Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Iasi Challenger Russia F7 Russia F4 Portugal F5 Turkey F10 Turkey F11 Turkey F15 Germany F1 Portugal F1 France F4 Portugal F2 Russia F1 Russia F2 Czech Republic F1 Czech Republic F2 Germany F5 Germany F7 Belgium F2 Belgium F3 Germany F9 Belgium F7 Belgium F8 Belgium F9 France F15 Portugal F4 Portugal F5 Germany F17 France F19 Germany F3 Turkey F5 France F4 Portugal F3 Russia F7 Kazakhstan F1 Kazakhstan F2 Kazakhstan F3 Uzbekistan F1 Czech Republic F1 Czech Republic F2 Czech Republic F3 Germany F6 Netherlands F3 Netherlands F4 Germany F9 Belgium F7 Germany F14 Spain F25 Germany F16 France F16 France F17 Portugal F4 Portugal F5 Germany F18 Germany F19 France F21 Brazil F31 Germany F2 Germany F3 Germany F4 Russia F1 Portugal F2 Russia F2 Portugal F3 Portugal F4 Russia F3 Russia F4 Egypt F2 Uzbekistan F1 Uzbekistan F2 Egypt F4 Russia F7 Russia F8 Germany F5 Germany F6 Belgium F8 Spain F26 Netherlands F5 Spain F27 Netherlands F6 Brazil F32 Spain F30 France F16 Spain F33 Portugal F9 Portugal F10 Portugal F11 Egypt F32 Egypt F33 Spain F41 Spain F42 Turkey F49 Turkey F50 Germany F2 Portugal F1 Portugal F3 Kazakhstan F1 Kazakhstan F2 Turkey F8 Turkey F9 Portugal F4 Portugal F5 Russia F3 Portugal F6 Russia F4 Belgium F2 Netherlands F2 Belgium F3 Belgium F4 Netherlands F4 Belgium F5 Romania F2 Romania F13 Portugal F8 Portugal F9 Portugal F11 Turkey F42 Turkey F43 Turkey F1 Turkey F2 Tunisia F3 Tunisia F4 Egypt F8 Portugal F3 Morocco F2 Morocco F3 France F8 Italy F6 Portugal F4 Romania F2 Romania F3 Russia F1 Portugal F7 Mozambique F1 Mozambique F2 Netherlands F1 Netherlands F2 Spain F18 Germany F7 Netherlands F3 Netherlands F4 Belgium F8 Russia F5 Russia F6 Netherlands F6 Belgium F13 Russia F7 Russia F8 Spain F28 Egypt F36 Kazakhstan F3 Egypt F37 Egypt F38 Egypt F39 Cyprus F2 Cyprus F3 Germany F3 Turkey F5 Turkey F6 Tunisia F6 Turkey F7 Tunisia F7 France F4 Portugal F3 Egypt F9 Egypt F10 Turkey F7 Netherlands F2 Czech Republic F4 Netherlands F4 Germany F8 Russia F7 Romania F15 Hungary F8 Turkey F47 Cyprus F3 Turkey F48 France F1 (Bagnoles-de-l'Orne) Germany F3 (Nussloch) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) France F4 (Lille) Croatia F1 (Rovinj) Croatia F2 (Porec) Italy F5 (Santa Margherita Di Pula) Portugal F6 (Porto) Portugal F7 (Carcavelos) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Tunisia F22 (Hammamet) Portugal F10 Portugal F10 (Torres Vedras) Germany F7 (Trier) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Thailand F10 (Hua Hin) Thailand F11 (Hua Hin) Thailand F12 (Hua Hin) Qatar F6 (Doha) Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Tunisia F23 (Hammamet) Portugal F14 (Sintra) Portugal F5 Portugal F15 (Sintra) Spain F21 M25 Tavira M25 Meerbusch M25 Wetzlar M25 Nevers M25+H Rodez M15 Grenoble M25 Portimao Portugal F6 Egypt F7 Portugal F2 Germany F8 Portugal F7 M25 Grasse Russia F5 M25 Vale do Lobo M25 Castelo Branco M25 Antalya M25 Vale do Lobo Germany F14 M15 Villers-les-Nancy Egypt F3 M25 Mataro M25 Elvas M25 Idanha-a-Nova M25 Monastir M25 Loule M15 Poitiers M25 Vila Real de Santo Antonio M25 Bourg-en-Bresse M25 Roda de Bara M25 Sarreguemines M25 Montesilvano M25 Satu Mare M25 Koksijde M25 Vale do Lobo M25 Antalya M25 Poznan M25 Mungia-Laukariz M25 Porto M25 Sintra Karshi Challenger Scheveningen Challenger Guimaraes Challenger Oberstaufen Challenger Segovia Challenger Meerbusch Challenger Kazan Challenger Mersin Challenger Sao Paulo Challenger Segovia Challenger M25 Vila Real de Santo Antonio Ortisei Challenger Todi Challenger Scheveningen Challenger Porto Alegre Challenger Astana Challenger Tashkent Challenger Bratislava Challenger M25 Manacor Bangkok Challenger Bangkok Challenger M25 Faro M25 Sintra Barletta Challenger Rome Challenger Santos Challenger Prague Challenger Manerbio Challenger Mersin Challenger Netherlands F5 Egypt F6 (Sharm El Sheikh) Budapest Challenger Budapest Challenger Barletta Challenger Karshi Challenger Samarkand Challenger Caltanissetta Challenger Milan Challenger Marburg Challenger Poznan Challenger Tampere Challenger Genova Challenger Quimper Challenger Cherbourg Challenger Moscow Challenger Heilbronn Challenger Poznan Challenger Manerbio Challenger M25 Lesa Genova Challenger Zhangjiagang Challenger Kaohsiung Challenger Orleans Challenger Heilbronn Challenger Rennes Challenger Jerusalem Challenger Lyon Challenger Bratislava Challenger Milan Challenger Nur-Sultan 1 Challenger Biella 7 Challenger Oeiras 2 Challenger Bratislava Challenger Helsinki Challenger Portugal F5 (Quinta Da Marinha) Forli 3 Challenger Barletta Challenger M25 Setubal Tunis Challenger Troisdorf Challenger Lyon Challenger Matsuyama Challenger Kobe Challenger Casablanca Challenger Meerbusch Challenger M25 Toulouse-Balma Ottignies-Louvain-la-Neuve Challenger M15 Monastir M15+H Bagnoles de l'Orne Grodzisk Mazowiecki Challenger M25 Trento M25 Creteil M25 Vale do Lobo M25 Toulouse-Balma Oeiras 1 Challenger Lisbon Challenger Almaty Challenger M25 Saint Dizier Segovia Challenger M15 Lons-le-Saunier Matsuyama Challenger M25 Angers Bratislava Challenger Lugano Challenger Pune Challenger Andria Challenger M25 Valldoreix Prague Challenger Manerbio Challenger Sao Paulo Challenger M25 Reggio Emilia Cherbourg Challenger Cherbourg Challenger Lisbon Challenger M25 Deauville Manila Challenger Tashkent Challenger M25 Carnac Kazan Challenger Napoli Challenger M25 Grasse Braga Challenger M25 Setubal Samarkand Challenger Pau Challenger Baotou Challenger M25 Villeneuve-Loubet Perugia Challenger Poznan Challenger Tampere Challenger Tunisia F5 Scheveningen Challenger Nur-Sultan 2 Challenger Liberec Challenger Genova Challenger Szczecin Challenger Szczecin Challenger M25 Idanha-a-Nova Eckental Challenger Bangkok Challenger Cassis Challenger Malaga Challenger Iasi Challenger Grodzisk Mazowiecki Challenger Banja Luka Challenger Bergamo Challenger Szczecin Challenger Blois Challenger Mouilleron-Le-Captif Challenger Liberec Challenger Oeiras 2 Challenger Egypt F1 (Sharm El Sheikh) M25 Sabadell Oeiras 5 Challenger Sassuolo Challenger Brest Challenger Como Challenger Porto 2 Challenger Marburg Challenger Forli 2 Challenger Shenzhen Challenger Alicante Challenger Estoril Challenger Brest Challenger Mestre Challenger Hamburg Challenger Shanghai Challenger Sanremo Challenger Girona Challenger Madrid Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Koblenz Challenger Quimper Challenger St. Brieuc Challenger Sophia Antipolis Challenger Tunis Challenger St. Tropez Challenger Aix En Provence Challenger Lisbon Challenger Heilbronn Challenger Ludwigshafen Challenger M25 Koszalin Sopot Challenger L'Aquila Challenger Jinan Challenger Szczecin Challenger Kaohsiung Challenger Sao Paulo Challenger Maia Challenger Rome 1 Challenger Rome 2 Challenger Prague Challenger Lyon Challenger Bratislava Challenger Salzburg-Anif Challenger Segovia Challenger Prague 2 Challenger St. Petersburg 2 Challenger Dobrich 2 Challenger Como Challenger Mallorca Challenger Kyiv Challenger Braga Challenger Bucharest Challenger Brest Challenger Bergamo Challenger Tenerife Challenger Roanne Challenger Orleans Challenger Forli 2 Challenger Forli 3 Challenger Traralgon Challenger Quimper Challenger Bengalaru 1 Challenger Lille Challenger Braga Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Milan Challenger Braunschweig Challenger Porto Challenger Verona Challenger San Benedetto Challenger Yokkaichi Challenger Meerbusch Challenger M15 Monastir Toulouse Challenger Genova Challenger Mouilleron-Le-Captif Challenger Alicante Challenger St. Tropez Challenger Brest Challenger Yokohama Challenger Roanne Challenger Maia Challenger Oeiras 1 Challenger Koblenz Challenger Pau Challenger Pune Challenger Maia Challenger Ostrava Challenger Aix En Provence Challenger Oeiras 3 Challenger Porto Challenger Mallorca Challenger Brest Challenger Maia Challenger Tenerife 1 Challenger Kobe Challenger Tulln Challenger Cherbourg Challenger Koblenz Challenger Oeiras 4 Challenger Florence Challenger Francavilla Challenger Lille Challenger Cherbourg Challenger Milan Challenger Brasov Challenger Tampere Challenger Bunschoten Challenger Porto 2 Challenger Shenzhen Challenger Porto Challenger Nur-Sultan Challenger Ningboo Challenger St. Tropez Challenger Liuzhou Challenger Charlottesville Challenger Knoxville Challenger Houston Challenger Brest Challenger Bengalaru Challenger Cherbourg Challenger Sofia 2 Challenger Seville Challenger Nur-Sultan Challenger Prague Challenger Ostrava Challenger Split Challenger Istanbul Challenger Bratislava Challenger Quimper Challenger Quimper 2 Challenger Cherbourg Challenger Biella 5 Challenger Oeiras 3 Challenger Porto Challenger Prague 3 Challenger Szczecin Challenger Sibiu Challenger Mouilleron-Le-Captif Challenger Alicante Challenger Turin Challenger St. Brieuc Challenger Zug Challenger Fergana Challenger San Benedetto Challenger Oeiras 3 Challenger Kolkata Challenger Karlsruhe Challenger Luedenscheid Challenger Estoril Open - Estoril Eckental Challenger New Delhi Challenger Kazan Challenger Poznan Challenger Sao Leopoldo Challenger Szczecin Challenger Portugal Open - Oeiras BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Mouilleron-Le-Captif Challenger Ortisei Challenger Millennium Estoril Open - Estoril St. Brieuc Challenger Braunschweig Challenger Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Heilbronn Challenger German Tennis Championships - Hamburg Estoril Open - Estoril St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Murray River Open - Melbourne Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Mestre Challenger Augsburg Challenger Braunschweig Challenger Gijon Open - Gijon Braunschweig Challenger Open Sud de France - Montpellier Millennium Estoril Open - Estoril Rome 1 Challenger Shenzhen Challenger Luedenscheid Challenger Eskisehir Challenger European Open - Antwerp Rennes Challenger St. Tropez Challenger Caltanissetta Challenger Marburg Challenger Kremlin Cup - Moscow Bastad Challenger M25 Santa Margherita di Pula Pullach Challenger Trnava Challenger Cordenons Challenger Portugal Open - Oeiras Astana Challenger Koblenz Challenger Shymkent Challenger Open 13 Provence - Marseille Grand Prix Hassan II - Casablanca Samarkand Challenger Pau Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Kremlin Cup - Moscow Hua Hin Challenger Koblenz Challenger Millennium Estoril Open - Estoril M15 Grenoble Braga Challenger Lyon Challenger Itajai Challenger Todi Challenger Lisbon Challenger Orleans Challenger Sopot Challenger St. Petersburg Open - St. Petersburg Zhuhai Challenger Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Tampere Challenger Antalya Cup - Antalya Lille Challenger Campinas Challenger Alicante Challenger Rennes Challenger Alicante Challenger St. Petersburg Open - St. Petersburg Amersfoort Challenger Rennes Challenger Qatar ExxonMobil Open - Doha Portoroz Challenger Lisbon Challenger Helsinki Challenger Oeiras 2 Challenger Chennai Challenger Bergamo Challenger Szekesfehervar Challenger Prague II Challenger Prostejov Challenger Parma Challenger Open Sud de France - Montpellier Eckental Challenger Parma Challenger Prostejov Challenger St. Petersburg 1 Challenger Zadar Challenger SkiStar Swedish Open - Bastad Aix En Provence Challenger Milan Challenger Poznan Challenger Blois Challenger Open Sud de France - Montpellier Tata Open Maharashtra - Pune St. Petersburg Open - St. Petersburg Sofia Open - Sofia Tampere Challenger Quimper Challenger Seville Challenger Braga Challenger Bengaluru Challenger Biel Challenger Oeiras 4 Challenger Troisdorf Challenger Sanremo Challenger Heilbronn Challenger Bratislava 1 Challenger Orleans Challenger Hamburg European Open - Hamburg Poznan Challenger Sofia Open - Sofia Malaga Challenger Hamburg Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Bratislava 2 Challenger Suzhou Challenger Seoul Challenger Ostrava Challenger Porto Challenger Orleans Challenger Roanne Challenger Plava Laguna Croatia Open - Umag European Open - Antwerp M25+H Kassel Grand Prix Hassan II - Marrakech Open 13 Provence - Marseille Belgrade 2 - Belgrade Quimper Challenger Francavilla Challenger Francavilla Challenger Noumea Challenger Lisbon Challenger Oeiras 1 Challenger Zagreb Challenger Amersfoort Challenger Estoril Open - Estoril Banja Luka Challenger Matsuyama Challenger Forli 1 Challenger Lugano Challenger St. Petersburg Open - St. Petersburg Cassis Challenger Oeiras 3 Challenger Kremlin Cup - Moscow Miami Open - Miami BMW Open - Munich Power Horse Cup - Dusseldorf Kremlin Cup - Moscow European Open - Antwerp BMW Open - Munich St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Open 13 Provence - Marseille Mouilleron-Le-Captif Challenger Dubai Duty Free Tennis Championships - Dubai Wimbledon - London French Open - Paris French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open Qualifying - Doha U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London Wimbledon - London Australian Open - Melbourne U.S. Open - New York Rovereto Challenger Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Lisbon Challenger Davis Cup, Group II, 2R, POR-FIN 4-1 Wimbledon (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) U.S. Open (juniors) All Lower level tournaments Davis Cup, World Group I, PO, LTU-POR 0-4 Wimbledon (juniors) U.S. Open (juniors) Braga Challenger M25 Bakio M25 Esch/Alzette